<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // String  Boolean null undefined   +  Number

    // undefined 和 数字 => 先转数字再运算 
    // undefined => NaN 

    var a; // undefined
    var b = 3;
    console.log(a + b); // NaN
    console.log(a - b); // NaN
    console.log(a * b); // NaN
    console.log(a / b); // NaN
    console.log(a % b); // NaN

    // 1(被除数) / 3(除数) = 0(商) ... 1(余数)

    // 隐式类型转换  

    // 算术运算符的隐式类型转换  String  Boolean null undefined   +  Number

    // 字符串和数字运算
    // 1.遇到 "+"  会拼接形成新的字符串
    // 2.遇到 "- * /  %" 会先隐式的转化为数字 在运算
    //   a. 纯数字类型的字符串  => 对应的数字
    //   a. 非纯数字类型的字符串  => NaN
    
    // 布尔值和数字运算
    // true  => 1
    // false => 0

    // null => 0
    // undefined => NaN
    
    // 注意:NaN和任何值运算  结果均为NaN

</script>
</html>